package com.probiz.estore.product.service;

import java.util.List;

import com.probiz.estore.common.model.product.Brand;
import com.probiz.estore.core.service.GenericManager;

/**
 * Manager interface for Brand, responsible for business processing, and communicate between web and persistence layer.
 *
 */
public interface BrandManager extends GenericManager<Brand> {
	/**
	 * 获取所有品牌（按sortOrder排序）
	 * @return
	 */
	public List<Brand> findAllBrands();
	
	
	/**
	 * 根据品牌编码获取品牌
	 * @param brandCode
	 * @return
	 */
	public Brand getBrandByCode(String brandCode);
	
	/**
	 * 根据品牌名称查找相应的品牌
	 * @param brandName 
	 * @return
	 */
	public List<Brand> findBrandByName(String brandName);
	
	
	 /**
     * 根据前台uri获得id
     *
     * @param uri 前台uri
     * @return 目录id
     */
    public Integer getBrandIdByUri(String uri);

    /**
     * 根据id获得前台uri
     *
     * @param categoryId 目录id
     * @return 前台uri
     */
    public String getUriByBrandId(Integer brandId);
    
    /**
     * 根据品牌名判断是否已经存在 
     * @param brandName
     * @return
     */
    public boolean getIsBrandExist(String brandName);
    
    /**
     * 判断是否有其它使用此品牌名
     * @param brandName
     * @param brandId
     * @return
     */
    public boolean getIsBrandNameUseByOthers(String brandName, Integer brandId);
}
